package sixlevel.letcode.kmp;


/**
 * @Author heng.li
 * @Date 2019/5/6 17
 * @Description:
 **/
public class SimpleStringSearch {
    public static final String APP_ID = "16194672";
    public static final String API_KEY = "ytmLRUo7o22FvhHdXmxrUXSX";
    public static final String SECRET_KEY = "DbyEc8BN7KfRxi1sM7BkznRp4XllbiuK";

    public static void main(String[] args) {
        // 初始化一个AipNlp
//        AipNlp client = new AipNlp(APP_ID, API_KEY, SECRET_KEY);
//
//        // 可选：设置网络连接参数
//        client.setConnectionTimeoutInMillis(2000);
//        client.setSocketTimeoutInMillis(60000);


        // 可选：设置代理服务器地址, http和socket二选一，或者均不设置
        // 设置http代理
//        client.setHttpProxy("proxy_host", proxy_port);
        // 设置socket代理
//        client.setSocketProxy("proxy_host", proxy_port);

        // 调用接口
//        String text = "今天天气针好";
//        String example = "百度是个人工只能公司";
//        String textNun = "2018-13-12";
//        String file = "自人民银行人民币贷款基准利率调整的下一个周期首月的借款对应日起";
//        JSONObject res = client.ecnet(file, null);
//        System.out.println(res);
//        System.out.print("原文：");
//        System.out.println(res.get("text"));
//        System.out.print("提示信息：");
        // log_id 请求唯一标识码
        // correct_query 纠错后的文本
        // score 模型后的打分
        // item	分析后的结果
        // vec_fragment 替换候选片段信息
        // ori_frag 原片段
        // correct_frag 替换片段
        // begin_pos 	起始(长度单位)
        // end_pos  结尾(长度单位)
//        System.out.println(new JSONObject(res.get("item")).toString());
//        JSONObject item = (JSONObject) res.get("item");
//        System.out.println(item.toString());
//        System.out.println(new JSONArray(item.get("vec_fragment").toString()).get(0));

    }

    /**
     * 普通的字符串匹配
     *
     * @param a
     * @param b
     * @return
     */
    public int simpleSearch(String a, String b) {
        int aIndex = 0;
        int bIndex = 0;
        while (aIndex < a.length() && bIndex < b.length()) {
            if (a.charAt(aIndex) == b.charAt(bIndex)) {
                aIndex++;
                bIndex++;
            } else {
                aIndex = aIndex - bIndex + 1;
                bIndex = 0;
            }
        }
        if (bIndex == b.length()) {
            return aIndex - bIndex;
        }

        return -1;

    }


}
